v0.8.4 - New Scanner + Browse Authors/Artists + Tons of Bugfixes #3392
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After rewriting 50K lines of code last release, I decided it was best to take a break and focus on the bugs that resulted and a few that had piled up. This release is bug focused, but of course I stuck a few big features in with it.
Scanner
One issue that has been cropping up as we attract more users with larger libraries or libraries laid out in the Publisher/Series style is the scanner. Users with large libraries modify their library quite a bit and the old scanner had issues with change detection. v0.8.3 had quite a nasty bug which required forced library scans to ingest new data. There was also the notorious FK issue that was more common for larger libraries.
To fix these issues, I rewrote the scanner from the ground up to be more reliable. This was a (painful) 3 week effort working closely with a dedicated set of testers on a canary release to be nightly and stable ready. The new scanner will be slower than the old one. As of now, I feel that once the main slow first scan is done, it's actually performing much better. With this new scanner, there were some other major changes.
People Re-architecture
In order to reduce the FK issue in the scanner, I also needed to tackle the 80+ hour re-architecture of how people work within Kavita. When I started, with my limited knowledge of the scene or what Kavita would grow to become, I implemented people as tags, much like how ComicInfo does. This is constrained when you want to make people more entity-focused, like having a dedicated page for them.
With this release, you can now view individual details of a person, set a cover and description about the person and see their works and individual issues they worked on. You can also browse authors and artists, like other software has. This is just the start, please leave feedback for me via Feature Requests, so I can build this feature out more and make it a richer experience. Note: Any Smart Filters that relied on people will need manual intervention to correct. A force scan will be required to regenerate writer information.
Special Keyword Removal
The last thing with the scanner was removing Kavita's ability to detect and classify certain keywords as Special. Like
Omake
orAnnual
would classify a file as a special. While this is extremely handy in the Manga scene, there were numerous reports over the years that required manual workarounds by users. In order to behave more reliably, I opened a discussion this year for removal and made the final call. Specials going forward will need the SP marker on the filename (or tagged internally).CoversDB
Kavita has had the ability to download and display favicon and publisher images with a fallback repository being hosted on the main Kavita website. In this release, I've moved all that functionality and those images over to a new CoversDB repo. This repo will be the home for anything related to pulling images for Kavita instances. I plan to enhance this further as new features come to Kavita.
Small QoL Features
Last Read Filter is a new feature that allows you to pass a number that will be subtracted from TODAY, upping the dynamic function and allowing users to build Smart Filters like "Haven't read in a month".
Colorscape Polish The colorscape system has been polished even further. I spent a good amount of time adding some randomness, fixed a bug with colorscape resetting between navigation, and tried to tweak where colors go to avoid harsh contrasts. It's not perfect, but it's a step in the right direction. If you're passionate about the colorscape system, I welcome collaboration.
Bulk Library Actions This is something @DieselTech has been pushing me to add and the time is finally here. For users that have a lot of libraries (like Diesel and his 200+), sometimes it's quite a pain to update the settings of them all or perform some actions. Now in Kavita there are some limited bulk options, like refreshing covers or copying settings from one library to another (Scan currently disabled).
Recap
This release has been a ton of work on my part, but I felt it was important to squash the bugs first and ensure Kavita remains stable while I continue to add more features and bring a richer experience to users. My next release is still aimed at finishing the UX Overhaul with attention on Kavita+. With the holidays coming up, it is expected that this will take longer than most releases.
For those that have seen, we have hit over 65K active installs. It's absolutely amazing that a small project I started due to Ubooquity not having metadata has turned into such a massive project with a huge userbase. I want to give my thanks again to those in the community that have raised bugs, feature requests, give support in the discord/reddit, those who give me donations via OC/Kavita+, the translators, and of course my wife that helps support me pouring so much time into the project. I'm excited to continue building Kavita and bring about more of our visions into the software and see what is possible.
People metadata will be removed on update. A force scan is required to repopulate in the new system. A force scan/first scan will be much slower than before.
Added
Changed
Fixed
Example:
/ <- Lib root assume
/love hina/love hina/v01.cbz
/love hina/specials/sp01.cbz
The lowest series folder was /love hina/love hina/ for some reason, meaning series scan wasn't getting the full series (all folders) scanned in.
API
Theme
Known Issues